/* <pre>
 * Copyright (c) The Loose Coupling Team.
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 *
 *      http://www.apache.org/licenses/LICENSE-2.0 
 *
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License.
 *</pre>
 */
package org.lc.eic.core.pipesandfilters;

/**  The Filter. This is the interface that processing-components will implement.
 *  By extending the Pipe-interface and having a set method for an outbound pipe; 
 *  this filter-abstraction uses a pipe as both in and out-abstraction. 
 *	@author <a href="mailto:p.lycke@googlemail.com">PaLy</a>
 *
 * 
 */
public interface Filter<I, O> extends Pipe<I> {
	/**
	 * Here you set the pipe-implementation that will be handling the output.
	 * @param pipe
	 */
	public void setOutboundPipe(Pipe<O> pipe);
	
}
